Motion estimation is an indispensable tool in processing video information, wherein frames of information are encoded for processing. A typical encoder may read a video frame from memory, and generate and send an encoded bit stream back to memory for processing. Typically, an encoder core comprises several pipelined components that process macroblock sized chunks of data. When encoding video sequences as per MPEG (motion pictures experts group) standards, the number of bits required varies from frame to frame, depending on the type of macroblock/frame, i.e., inter (P), intra (I) or bidirectional (B). For transporting the information over a channel (which might have a constant bandwidth), one can send a constant number of bits per time period. There is therefore a need for a regulating mechanism that controls bit rate allocation, or otherwise decreases the number of bits for frames with high information content and increases it in other frames to achieve the best possible quality. From another angle, encoders need to keep track of the bit consumption for the encoded macroblocks or units to ensure proper regulation.